﻿using System.Drawing;

/// <summary>
/// Our matrix code pic class
/// </summary>
public class MatrixCode
{
    private float speed;
    private PointF location;
    private RectangleF intersectRectangle;
    private Bitmap bitmap;
    private Bitmap mask;
    private int[] letterAry;

    /// <summary>
    /// Current Y coordinate
    /// </summary>
    public float Y
    {
        get { return location.Y; }
        set { location.Y = value; }
    }

    /// <summary>
    /// Current X coordinate
    /// </summary>
    public float X
    {
        get { return location.X; }
        set { location.X = value; }
    }

    /// <summary>
    /// The current bounds of the code pic
    /// </summary>
    public RectangleF Bounds
    {
        get
        {
            return new RectangleF(location.X, location.Y, bitmap.Width, bitmap.Height);
        }
    }

    /// <summary>
    /// Speed of the code
    /// </summary>
    public float Speed
    {
        get { return speed; }
        set { speed = value; }
    }

    /// <summary>
    /// Location of the code
    /// </summary>
    public PointF Location
    {
        get { return location; }
        set { location = value; }
    }

    /// <summary>
    /// Holds the intersect rectangle on collision
    /// </summary>
    public RectangleF IntersectRect
    {
        get { return intersectRectangle; }
        set { intersectRectangle = value; }
    }

    /// <summary>
    /// The bitmap of the code letters
    /// </summary>
    public Bitmap CodePic
    {
        get { return bitmap; }
        set { bitmap = value; }
    }

    /// <summary>
    /// The mask for the code pic
    /// </summary>
    public Bitmap CodePicMask
    {
        get { return mask; }
        set { mask = value; }
    }

    /// <summary>
    /// The letters that our in this code pic
    /// </summary>
    public int[] LetterArray
    {
        get { return letterAry; }
        set { letterAry = value; }
    }    
}